1. Field of the Invention
The present invention relates to a database management system in which data read from the database are shared by the server process and the client process. In particular, the present invention relates to an object oriented database management system that utilizes a page server architecture.
2. Description of Related Art
In a database management system in which separated data is managed by a server process and a client process, a page server architecture is utilized where the data is managed as a unit (page) consisting of a certain amount. In the page server architecture, the server process manages the data file per page and upon receiving a request from the client process, the server process reads the page requested in the database files and transfers each page to the client process. Then, the client process interprets or updates the contents of the page according to the request from the application program and executes the process from the application program.
The page server architecture is well known and disclosed in "Building Object Oriented Database Systems", by Morgan Kaufmann Publishers (1992, Chapter 18, pp411-446 and more particularly pp415-417), the subject matter of which is incorporated herein by reference.
In the conventional page server architecture, the server process and the client process share each page of data. A method in which data is transferred between the server process and the client process based on the remote procedure call (RPC) is disclosed in the above document on pp 420-422.
A more general structure of a conventional object oriented database management system based on the conventional page server architecture is shown in FIG. 9.
In the database management system of FIG. 9, when the client process 100 sends a page reading command to the server using the communication management unit 101 to read the required page, the communication management unit 201 of the server process 200 executes transactions such as exclusive control of the reading of the page at the transaction management unit 202 and performs data reading process at the page buffer management unit 203.
During the page reading process, the page in question from the database file 205 is read by the desk input/output unit 204. The page buffer management unit 203 stores the data of the page in the page buffer 207 of the server process 200. The data read from the database file 205 is sent to the client process 100 which is the requester of the data using the communication management unit 201.
In the client process 100, the communication management unit 101 receives the sent data. The page buffer management 102 stores the data in the page buffer 103 of the client process 100 and the application program 104 executes necessary processes such as reading the data that is stored in the page buffer 103.
The page stored in the database file 205 is transferred between the server process 200 and the client process 100 and is stored in the respective page buffers 103, 207 enabling sharing of the data between the server process 200 and the client process 100. If another client process (or even a plurality of other client processes) requires reading of the same data, sharing of data is enabled by the server process 200 transferring the data to the client process.
In the page server architecture where the requested data is transferred from the server process, the storing of data to the buffer of both client process and server process is executed in RPC. This causes a problem that the processing time is too long to transfer data between the client process and the server process.
Because of this, a remote file access apparatus is proposed in which an effectiveness of the data maintained in the client process and the server process is determined. If it is determined to be effective, the number of transfer processing is reduced by declaring the data transfer unnecessary. Thus, the traffic overhead is reduced and the transfer processing time is improved as discussed in Japanese Laid-Open Patent Publication Hei 5-61662, the subject matter of which is incorporated herein by reference.
As explained above, in the database system in which the client process and the server process share the data, the process time required for sharing the data between the server process and the client process is reduced.
To cope with such a problem, with the conventional remote file access apparatus, the number of data transfers between the server process and the client process is decreased to reduce the process for sharing data and to speed up the sharing of data.